signature SIG_D =
  sig
    type t
    val Zero : t
    val One : t
    val One' : t
    val Two : t
    val Three : t
    val lub : t * t -> t
    val sum : t * t -> t
    val prod : t * t -> t
    val eql : t * t -> bool
    val isOne : t -> bool
    val toString : t -> string
   end
  
(*Input to analysis functor*)
signature ANALYSIS_PARMS =
  sig
  val nonlinear_Dvalue: D.t;
  val name: string
  end;
